From 7fdd482866a98df90831dacaddf765c68118c623 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 1 Sep 2004 06:39:59 +0000 Subject: [PATCH] Make accel labels ellipsize correctly. (#151559, Christian Persch) Wed Sep 1 02:38:48 2004 Matthias Clasen * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make accel labels ellipsize correctly. (#151559, Christian Persch) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkaccellabel.c | 10 ++++++++++ 5 files changed, 30 insertions(+) diff --git a/ChangeLog b/ChangeLog index b40fded403..870a8a8dc6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Sep 1 02:38:48 2004 Matthias Clasen + + * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make + accel labels ellipsize correctly. (#151559, Christian Persch) + Wed Sep 1 00:55:56 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index b40fded403..870a8a8dc6 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Wed Sep 1 02:38:48 2004 Matthias Clasen + + * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make + accel labels ellipsize correctly. (#151559, Christian Persch) + Wed Sep 1 00:55:56 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index b40fded403..870a8a8dc6 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Wed Sep 1 02:38:48 2004 Matthias Clasen + + * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make + accel labels ellipsize correctly. (#151559, Christian Persch) + Wed Sep 1 00:55:56 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index b40fded403..870a8a8dc6 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Wed Sep 1 02:38:48 2004 Matthias Clasen + + * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make + accel labels ellipsize correctly. (#151559, Christian Persch) + Wed Sep 1 00:55:56 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index 3fd72f7396..8392552b73 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -320,6 +320,7 @@ gtk_accel_label_expose_event (GtkWidget *widget, { PangoLayout *label_layout; PangoLayout *accel_layout; + GtkLabel *label = GTK_LABEL (widget); gint x; gint y; @@ -327,11 +328,20 @@ gtk_accel_label_expose_event (GtkWidget *widget, if (direction == GTK_TEXT_DIR_RTL) widget->allocation.x += ac_width; widget->allocation.width -= ac_width; + if (gtk_label_get_ellipsize (label)) + pango_layout_set_width (label->layout, + pango_layout_get_width (label->layout) + - ac_width * PANGO_SCALE); + if (GTK_WIDGET_CLASS (parent_class)->expose_event) GTK_WIDGET_CLASS (parent_class)->expose_event (widget, event); if (direction == GTK_TEXT_DIR_RTL) widget->allocation.x -= ac_width; widget->allocation.width += ac_width; + if (gtk_label_get_ellipsize (label)) + pango_layout_set_width (label->layout, + pango_layout_get_width (label->layout) + + ac_width * PANGO_SCALE); if (direction == GTK_TEXT_DIR_RTL) x = widget->allocation.x + misc->xpad; -- 2.30.2